import request from '@/utils/request'

/**
 * =================================================================
 * 管理员后台API
 * -----------------------------------------------------------------
 * 本文件中的所有API请求都需要管理员权限和认证头。
 * =================================================================
 */

// 获取系统统计信息
export function getSystemStats() {
    return request({
        url: '/admin/stats',
        method: 'GET'
    })
}

// 获取所有用户列表
export function getAllUsers(params) {
    return request({
        url: '/admin/users',
        method: 'get',
        params
    })
}

// 更新指定用户信息
export function updateUser(userId, data) {
    return request({
        url: `/admin/users/${userId}`,
        method: 'put',
        data
    })
}

// 删除指定用户
export function deleteUser(userId) {
    return request({
        url: `/admin/users/${userId}`,
        method: 'delete'
    })
}

// 获取所有动态列表
export function getAllPostsAdmin(params) {
    return request({
        url: '/admin/posts',
        method: 'GET',
        params
    })
}

// 删除指定动态
export function deletePostAdmin(postId) {
    return request({
        url: `/admin/posts/${postId}`,
        method: 'delete'
    })
}

// 获取所有公告
export function getAllNoticesAdmin() {
	return request({
		url: '/admin/notices',
		method: 'GET'
	});
}

// 创建新公告
export function createNotice(data) {
	return request({
		url: '/admin/notices',
		method: 'POST',
		data
	});
}

// 删除公告
export function deleteNoticeAdmin(noticeId) {
	return request({
		url: `/admin/notices/${noticeId}`,
		method: 'DELETE'
	});
}

// 获取仪表盘数据（这是一个示例或未来可扩展的接口）
export function getAdminDashboardData() {
    return request({
        url: '/admin/dashboard',
        method: 'get'
    })
}

// 获取用户统计数据
export function getUserStats() {
    return request({
        url: '/admin/stats/users',
        method: 'get'
    })
}

// 获取用户增长趋势
export function getUserGrowth(days = 7) {
    return request({
        url: '/admin/stats/growth',
        method: 'GET',
        params: { days }
    })
}

// 获取动态统计数据
export function getPostStats() {
  return request({
    url: '/admin/stats/posts',
    method: 'get'
  })
}

// 获取公告列表
export function getNotices(params) {
    return request({
        url: '/admin/notices',
        method: 'get',
        params
    })
}

// 更新指定动态内容
export function updatePostAdmin(postId, data) {
    return request({
        url: `/admin/posts/${postId}`,
        method: 'put',
        data
    })
}

// 管理用户
export function manageUser(userId, action) {
  return request({
    url: `/admin/users/${userId}/${action}`,
    method: 'post'
  })
}

// 管理动态
export function managePost(postId, action) {
  return request({
    url: `/admin/posts/${postId}/${action}`,
    method: 'post'
  })
}

// 获取用户列表
export function getUsers(params) {
  return request({
    url: '/admin/users',
    method: 'GET',
    params
  })
}

// 获取动态列表
export function getPosts(params) {
  return request({
    url: '/admin/posts',
    method: 'GET',
    params
  })
}

// 获取统计数据
export function getStats() {
  return request({
    url: '/admin/stats',
    method: 'GET'
  })
}

// 获取趋势数据
export function getTrends(params) {
  return request({
    url: '/admin/trends',
    method: 'GET',
    params
  })
} 